package org.hsw.infrastructure.dao;

import org.apache.ibatis.annotations.Mapper;
import org.hsw.infrastructure.dao.po.StrategyAward;

import java.util.List;
@Mapper
public interface IStrategyAwardDao {
    /**
     * 根据自增 ID 查询抽奖策略奖品信息
     * @param id 自增 ID
     * @return 抽奖策略奖品信息
     */
    StrategyAward getStrategyAwardById(Long id);

    /**
     * 根据策略 ID 查询抽奖策略奖品信息列表
     * @param strategyId 策略 ID
     * @return 抽奖策略奖品信息列表
     */
    List<StrategyAward> getStrategyAwardsByStrategyId(Long strategyId);

    /**
     * 查询所有抽奖策略奖品信息
     * @return 抽奖策略奖品信息列表
     */
    List<StrategyAward> getAllStrategyAwards();

    /**
     * 插入抽奖策略奖品信息
     * @param strategyAward 抽奖策略奖品信息
     * @return 插入成功返回 1，失败返回 0
     */
    int insertStrategyAward(StrategyAward strategyAward);

    /**
     * 更新抽奖策略奖品信息
     * @param strategyAward 抽奖策略奖品信息
     * @return 更新成功返回 1，失败返回 0
     */
    int updateStrategyAward(StrategyAward strategyAward);

    /**
     * 根据自增 ID 删除抽奖策略奖品信息
     * @param id 自增 ID
     * @return 删除成功返回 1，失败返回 0
     */
    int deleteStrategyAwardById(Long id);

    String queryStrategyAwardRuleModels(StrategyAward strategyAward);

    void updateStrategyAwardStock(StrategyAward strategyAward);

    StrategyAward queryStrategyAward(StrategyAward strategyAwardReq);
}
